Precision machine vision inspection systems (or “vision systems” in short) can be utilized to obtain precise dimensional measurements of inspected objects and to inspect various other object characteristics. Such systems may include a computer, a camera and optical system, and a precision stage that is movable in multiple directions so as to allow the camera to scan the features of a workpiece that is being inspected. One exemplary prior art system that is commercially available is the QUICK VISION® series of PC-based vision systems and QVPAK® software available from Mitutoyo America Corporation (MAC), located in Aurora, Ill. The features and operation of the QUICK VISION® series of vision systems and the QVPAK® software are generally described, for example, in the QVPAK 3D CNC Vision Measuring Machine Users Guide, published January 2003, and the QVPAK 3D CNC Vision Measuring Machine Operation Guide, published September 1996, each of which is hereby incorporated herein by reference in their entirety. This product, as exemplified by the QV-302 Pro model, for example, is able to use a microscope-type optical system to provide images of a workpiece at various magnifications, and move the stage as necessary to traverse the workpiece surface beyond the limits of any single video image. A single video image typically encompasses only a portion of the workpiece being observed or inspected, given the desired magnification, measurement resolution, and physical size limitations of such systems.
Machine vision inspection systems generally utilize automated video inspection. U.S. Pat. No. 6,542,180 teaches some examples of automated video inspection. As taught in the '180 patent, automated video inspection metrology instruments generally have a programming capability that allows an automatic inspection event sequence to be defined by the user for each particular workpiece configuration. This can be implemented either in a deliberate manner, such as text-based programming, for example, or through a recording mode which progressively “learns” the inspection event sequence by storing a sequence of machine control instructions corresponding to a sequence of inspection operations performed by a user, or through a combination of both methods. Such a recording mode is often referred to as “learn mode” or “training mode”. Once the inspection event sequence is defined in “learn mode,” such sequence can then be used to automatically acquire (and additionally analyze or inspect) images of a workpiece during “run mode.”
The machine control instructions, including the specific inspection event sequence including image acquisition parameters, etc., are generally stored as a “part program” or “workpiece program” that is specific to the particular workpiece configuration. The ability to create part programs with instructions that perform a predetermined sequence of inspection operations provides several benefits, including enhanced inspection repeatability, as well as the ability to automatically execute the same part program repeatedly on one or more compatible machine vision inspection systems.
For general-purpose machine vision inspection systems that are intended to be rapidly programmable for a wide variety of workpieces, as exemplified by the previously referenced QUICK VISION® series of PC-based vision systems, it has been conventional for image acquisition operations to be interspersed with image analysis operations and/or feature inspection operations that are performed on the most recently acquired image (referred to herein as “interspersed” type operations.) However, there is an increasing demand for general-purpose machine vision inspection systems to provide higher throughput. According to one method, this may be accomplished by performing image acquisition while using continuous relative motion between the camera and the workpiece stage (as opposed to intermittently stopping and starting the relative motion, as required for interspersed type operations), thereby significantly increasing inspection throughput. Such operations are referred to herein as continuous-motion type operations. It is advantageous for such systems to include strobe lighting illumination to assist with the acquisition of images during continuous motion without smearing (or blurring) the image.
High-speed “in-line” vision inspection systems used in high-speed production lines have provided continuous-motion type image acquisition. However, such in-line vision systems typically are dedicated to a single production line and acquire the “same” image over and over again, for successive workpieces on a conveyor system, for example. In such cases, for each image the motion speed and strobe illumination parameters, etc., are the same. Furthermore, workpiece configurations and/or image acquisition parameters, etc., are rarely changed. Thus, programming methods for such systems have not facilitated rapid programming for an unlimited variety of workpieces, camera positions, image acquisition parameters, etc., by relatively unskilled users.
In contrast, experience has shown that it is essential for general-purpose machine vision inspection systems to facilitate rapid programming for an unlimited variety of workpieces, camera positions, image acquisition parameters, etc., by relatively unskilled users. Previous programming methods for general-purpose machine vision inspection systems have not made the programming of continuous-motion type operations sufficiently easy or fast. Furthermore, previous programming methods have not made the programming of continuous-motion type operations in combination with interspersed-type operations sufficiently easy or fast. Programming systems and methods that can overcome these problems and shortcomings, either separately or in combination, would be desirable.